package com.quan.sdk.weixin.constant;

public class API {
	
	/**
	 * Access_Token 公众号的全局唯一接口调用凭据
	 * <br>方式：GET
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; appid
	 * <br>&nbsp;&nbsp;&nbsp; secret
	 */
	public static String ACCESS_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s" ;
	
	/**
	 * JsApi_Ticket 票据
	 * <br>方式：GET
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 * <br>&nbsp;&nbsp;&nbsp; type
	 */
	public static String JS_API_TICKET_URL = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=%s&type=%s" ;
	
	/**
	 * 自定义菜单创建接口
	 * <br>方式：POST
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 */
	public static String MENU_CREATE_URL = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=%s" ;
	
	/**
	 * 自定义菜单查询接口
	 * <br>方式：GET
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 */
	public static String MENU_GET_URL = "https://api.weixin.qq.com/cgi-bin/menu/get?access_token=%s" ;
	
	/**
	 * 自定义菜单删除接口
	 * <br>方式：GET
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 */
	public static String MENU_DELETE_URL = "https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=%s" ;
	
	/**
	 * 获取素材总数
	 * <br>方式：GET
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 */
	public static String GET_MATERIALCOUNT = "https://api.weixin.qq.com/cgi-bin/material/get_materialcount?access_token=%s" ;
	
	/**
	 * 获取临时素材
	 * <br>方式：GET
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 * <br>&nbsp;&nbsp;&nbsp; media_id	媒体ID或JSSDK上传文件的ServerId
	 */
	public static String MEDIA = "https://api.weixin.qq.com/cgi-bin/media/get?access_token=%s&media_id=%s" ;
	
	/**
	 * 根据openid获取用户详情
	 * <br>方式：GET
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 * <br>&nbsp;&nbsp;&nbsp; openid	普通用户的标识，对当前公众号唯一
	 */
	public static String USER_DETAIL_URL = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=%s&openid=%s&lang=zh_CN" ;
	
	/**
	 * 获取用户列表
	 * <br>方式：GET
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 * <br>&nbsp;&nbsp;&nbsp; next_openid	第一个拉取的OPENID，不填默认从头开始拉取
	 */
	public static String USER_LIST_URL = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=%s&next_openid=%s" ;
	
	/**
	 * 创建二维码ticket
	 * <br>方式：POST
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 */
	public static String QR_CODE_TICKET_URL = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=%s" ;
	
	/**
	 * 创建二维码ticket
	 * <br>方式：POST
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; ticket 二维码的Ticket
	 */
	public static String QR_CODE_SHOW_URL = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=%s" ;
	
	/**
	 * 网页授权
	 * 第一步：用户同意授权，获取code
	 * <br>方式：GET
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; appid 公众号的唯一标识
	 * <br>&nbsp;&nbsp;&nbsp; redirect_uri 授权后重定向的回调链接地址， 请使用 urlEncode 对链接进行处理
	 * <br>&nbsp;&nbsp;&nbsp; scope SCOPE(snsapi_base,snsapi_userinfo)
	 * <br>&nbsp;&nbsp;&nbsp; state （如无参数请填写：STATE）重定向后会带上state参数，开发者可以填写a-zA-Z0-9的参数值，最多128字节
	 */
	public static String OAUTH_CODE_URL = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=%s#wechat_redirect" ;
	
	/**
	 * code换取网页授权access_token
	 * 第二步：通过code换取网页授权access_token
	 * <br>方式：GET
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; appid 公众号的唯一标识
	 * <br>&nbsp;&nbsp;&nbsp; secret公众号的appsecret
	 * <br>&nbsp;&nbsp;&nbsp; code 填写第一步获取的code参数
	 */
	public static String OAUTH_CODE_ACCESS_TOKEN_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code" ;
	
	/**
	 * 拉取用户信息(需scope为 snsapi_userinfo)
	 * <br>方式：GET
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 网页授权所获取的access_token
	 * <br>&nbsp;&nbsp;&nbsp; OPENID 用户的OPENID
	 */
	public static String OAUTH_GET_USER_INFO_URL = "https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=OPENID&lang=zh_CN" ;
	
	/**
	 * 上传图文消息内的图片获取URL【订阅号与服务号认证后均可用】
	 * <br>方式：POST
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 */
	public static String UPLOAD_NEWS_IMG_URL = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=%s" ;
	
	/**
	 * 上传图文消息素材【订阅号与服务号认证后均可用】
	 * <br>方式：POST
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 */
	public static String UPLOAD_NEWS_URL = "https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=%s" ;
	
	/**
	 * 新增其他类型永久素材
	 * <br>方式：POST
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 调用接口凭证
	 * <br>&nbsp;&nbsp;&nbsp; type 媒体文件类型，分别有图片（image）、语音（voice）、视频（video）和缩略图（thumb） 
	 * <br>&nbsp;&nbsp;&nbsp; media form-data中媒体文件标识，有filename、filelength、content-type等信息
	 * <br>&nbsp;&nbsp;&nbsp; 注意：在上传视频素材时需要POST另一个表单，id为description，包含素材的描述信息，内容格式为JSON，格式如下：
	 * <br>&nbsp;&nbsp;&nbsp; {
	 * <br>&nbsp;&nbsp;&nbsp; "title":VIDEO_TITLE,
	 * <br>&nbsp;&nbsp;&nbsp; "introduction":INTRODUCTION
	 * <br>&nbsp;&nbsp;&nbsp; }
	 */
	public static String UPLOAD_MEDIA_URL = "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=%s&type=%s" ;
	
	/**
	 * 删除永久素材
	 * <br>方式：POST
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 */
	public static String DELETE_MEDIA_URL = "https://api.weixin.qq.com/cgi-bin/material/del_material?access_token=%s" ;
	
	/**
	 * 新增永久素材
	 * <br>方式：POST
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 */
	public static String ADD_NEWS_URL = "https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=%s" ;
	
	/**
	 * 根据OpenID列表群发【订阅号不可用，服务号认证后可用】
	 * <br>方式：POST
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 */
	public static String MESSAGE_SEND_URL = "https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=%s" ;
	
	/**
	 * 预览接口【订阅号与服务号认证后均可用】
	 * <br>方式：POST
	 * <br>参数：
	 * <br>&nbsp;&nbsp;&nbsp; access_token 全局唯一接口调用凭据
	 */
	public static String PREVIEW_MESSAGE_SEND_URL = "https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token=%s" ;
	
	public static String get(String url, Object... args) {
		return String.format(url, args) ;
	}
	
}
